﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Muel.TypeScriptFacade.Core
{
    public enum TypeScriptFacadeMessageLevel 
    {
        Information,
        Warning,
        Error,
    }

    public enum TypeScriptFacadeMessageType
    {
        MissingGenerateScriptTypeAttributes
    }

    public class TypeScriptFacadeMessage
    {
        private TypeScriptFacadeMessageLevel level;
        private TypeScriptFacadeMessageType messageType;
        private string message;

        public TypeScriptFacadeMessage(TypeScriptFacadeMessageLevel level, TypeScriptFacadeMessageType type, string message)
        {
            this.level = level;
            this.messageType = type;
            this.message = message;
        }

        public TypeScriptFacadeMessageType MessageType { get { return messageType; } }
        public TypeScriptFacadeMessageLevel MessageLevel { get { return level; } }
        public string Message { get { return message; } }

        public override string ToString()
        {
            return string.Format("{0}: {1}", MessageType.ToString(), message);
        }
    }
}
